package com.iring.domain.common;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Generated;
import org.hibernate.annotations.GenerationTime;


/**
 * sip proxy 实体类
 *
 * @author wanggan
 */
@Entity
@Table(name = "t_proxy_info")
public class ProxyInfo implements Serializable {

    private static final long serialVersionUID = 7179512418491939471L;
    @Id
    @GeneratedValue
    @Column(name = "id")
    private Integer id;

    @Column(name = "mac")
    private String mac;

    @Column(name = "username")
    private String username;

    @Column(name = "proxy_realm")
    private String proxyRealm;

    @Column(name = "proxy_uri")
    private String proxyUri;

    @Column(name = "proxy_port")
    private String proxyPort;

    @Column(name = "proxy_username")
    private String proxyUsername;

    @Column(name = "proxy_password")
    private String proxyPassword;

    @Column(name = "send_status")
    private Boolean sendStatus = false;

    @Column(name = "gmt_update_time")
    @Temporal(TemporalType.TIMESTAMP)
    @Generated(GenerationTime.ALWAYS)
    private Date gmtUpdateTime;

    @Column(name = "gmt_create_time")
    @Temporal(TemporalType.TIMESTAMP)
    private Date gmtCreateTime;

    @Override
    public String toString() {
        return "{mac:" + mac + ",username:" + username + ",proxyRealm:" + proxyRealm + ",proxyUri:" +
                proxyUri + ",proxyPort:" + proxyPort + ",proxyUsername:" + proxyUsername + ",proxyPassword:" +
                proxyPassword + ",sendStatus:" + sendStatus + ",gmtUpdateTime:" + gmtUpdateTime + "}";
    }

    public Integer getId() {
        return id;
    }

    public String getMac() {
        return mac;
    }

    public String getUsername() {
        return username;
    }

    public String getProxyRealm() {
        return proxyRealm;
    }

    public String getProxyUri() {
        return proxyUri;
    }

    public String getProxyPort() {
        return proxyPort;
    }

    public String getProxyUsername() {
        return proxyUsername;
    }

    public String getProxyPassword() {
        return proxyPassword;
    }

    public Boolean getSendStatus() {
        return sendStatus;
    }

    public Date getGmtUpdateTime() {
        return gmtUpdateTime;
    }

    public Date getGmtCreateTime() {
        return gmtCreateTime;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public void setMac(String mac) {
        this.mac = mac;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setProxyRealm(String proxyRealm) {
        this.proxyRealm = proxyRealm;
    }

    public void setProxyUri(String proxyUri) {
        this.proxyUri = proxyUri;
    }

    public void setProxyPort(String proxyPort) {
        this.proxyPort = proxyPort;
    }

    public void setProxyUsername(String proxyUsername) {
        this.proxyUsername = proxyUsername;
    }

    public void setProxyPassword(String proxyPassword) {
        this.proxyPassword = proxyPassword;
    }

    public void setSendStatus(Boolean sendStatus) {
        this.sendStatus = sendStatus;
    }

    public void setGmtUpdateTime(Date gmtUpdateTime) {
        this.gmtUpdateTime = gmtUpdateTime;
    }

    public void setGmtCreateTime(Date gmtCreateTime) {
        this.gmtCreateTime = gmtCreateTime;
    }
}
